1
จากข้อมูลดิบสู่โครงสร้างที่กำหนดไว้แล้ว
AI034Lesson 5
00:00

จินตนาการข้อมูลดิบเป็นลำดับที่ไม่มีป้ายกำกับ—ดินแดนอันกว้างใหญ่ของหน่วยความจำ ในรัสต์ เราเริ่มต้นด้วยการจัดการข้อมูลในรูปแบบ ชิ้นส่วนต่อเนื่อง (slice และ array) การเปลี่ยนผ่านจากข้อมูลดิบสู่โครงสร้างที่กำหนดไว้ หมายถึงการเปลี่ยนจากหน่วยความจำที่ไม่มีชื่อไปยัง โครงสร้างที่มีจุดประสงค์.

1. ระดับข้อมูลดิบ

Slice และอาร์เรย์แสดงข้อมูลในรูปแบบง่ายที่สุด ความปลอดภัยจะถูกควบคุมผ่าน การตรวจสอบกรรมสิทธิ์เวลาคอมไพล์ แทนที่จะใช้การใช้ทรัพยากรในช่วงเวลาทำงาน การใช้การยืม (&) ทำให้เราสามารถสร้าง "มุมมอง" ของข้อมูลโดยไม่ต้องย้ายค่า

String (สแต็ก)ptr | len | cap[ h e l l o _ w o r l d ]&str (Slice)การยืมส่วนย่อย

2. ข้อจำกัดด้านความหมาย

แม้ว่าฟังก์ชันเช่น first_word จะยืดหยุ่น (ยอมรับ String, &str, หรือตัวแปรคงที่) แต่พวกมันมีข้อจำกัดด้านความหมาย คอมไพเลอร์รู้ว่าหน่วยความจำปลอดภัย แต่ไม่ทราบว่าข้อมูลนี้ หมายถึงอะไร (เช่น ชื่อผู้ใช้ เทียบกับอ่านค่าเซนเซอร์) จนกว่าเราจะจับคู่ข้อมูลนี้กับ Struct.

หลักการสถาปัตยกรรม: แนวคิดเกี่ยวกับกรรมสิทธิ์ การยืม และ slice ช่วยให้มั่นใจได้ว่าหน่วยความจำปลอดภัยในโปรแกรมรัสต์ขณะคอมไพล์ ซึ่งลดความจำเป็นในการใช้ตัวเก็บขยะ (garbage collector)
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>